/**
 * 文件名：****.java
 * 版权：Copyright Lightkit All Rights Reserved.
 * 描述：*****
 */
package com.lightkits.wms.domain.orderscanner;

import com.lightkits.common.db.entity.WmSaleTicketLine;
import com.lightkits.common.db.entity.event.BdEvent;
import com.lightkits.framework.common.model.CheckResult;
import com.lightkits.wms.dto.orderscanner.model.ScannerHeaderDto;
import com.lightkits.wms.dto.orderscanner.model.ScannerLineDto;
import com.lightkits.wms.dto.stocktransfer.model.SubStockViewDTO;
import com.lightkits.wms.dto.tagservice.model.TagViewDto;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author jing.wei@hand-china.com
 * @date 2019/6/20 18:42
 **/
@Component
public interface CreateTagAndSubParams {

    /**
     * 创建子库存转移参数
     *
     * @param headDTO  订单扫描请求头信息
     * @param lineDTOS 订单扫描请求行信息
     * @return SubStockViewDTO
     **/
    CheckResult<List<SubStockViewDTO>> createSubStockParam(ScannerHeaderDto headDTO,
                                                           List<ScannerLineDto> lineDTOS);

    /**
     * 创建条码信息
     *
     * @param lines           扫描订单行
     * @param saleTicketLines 售货单行
     * @param event           事件
     * @param orgId           组织ID(转移的)
     * @return TagViewDto
     */
    CheckResult<List<TagViewDto>> createTags(List<ScannerLineDto> lines,
                                             BdEvent event,
                                             List<WmSaleTicketLine> saleTicketLines,
                                             String orgId);
}
